package com.kizuki.base;

import org.junit.Test;

import java.math.BigDecimal;
import java.util.Objects;

public class TestBigDecimal {

    /**
     * 禁止使用 BigDecimal(double) 构造方法
     */
    @Test
    public void test() {
        BigDecimal bigDecimal1 = new BigDecimal("2.0");
        BigDecimal bigDecimal2 = new BigDecimal("2.0");
        BigDecimal bigDecimal3 = new BigDecimal("1.50");

        /**
         * 加减乘除
         */
        System.out.println(bigDecimal1.add(bigDecimal3));
        System.out.println(bigDecimal1.subtract(bigDecimal3));
        System.out.println(bigDecimal1.multiply(bigDecimal3));
        System.out.println(bigDecimal1.divide(bigDecimal3, BigDecimal.ROUND_HALF_UP)); // 四舍五入

        System.out.println(bigDecimal3.setScale(1, BigDecimal.ROUND_HALF_UP)); // 保留小数位数
        System.out.println(Objects.equals(bigDecimal1, bigDecimal2));
    }

}
